home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / LANG / C / LIB / OSLIB / EXAMPLES / h / event next >
Text File  |  1995-08-24  |  3KB  |  86 lines

  1. #ifndef event_H
  2. #define event_H
  3.  
  4. #ifndef wimp_H
  5. #include "wimp.h"
  6. #endif
  7.  
  8. #ifndef toolbox_H
  9. #include "toolbox.h"
  10. #endif
  11.  
  12. #define event_ANY ((toolbox_o) -1)
  13.  
  14. typedef bool event_wimp_handler (wimp_event_no event_code,
  15.       wimp_block *block, toolbox_block *id_block,
  16.       void *handle);
  17.  
  18. typedef bool event_toolbox_handler (bits event_code,
  19.       toolbox_action *action, toolbox_block *id_block,
  20.       void *handle);
  21.  
  22. typedef bool event_message_handler (wimp_message *message,
  23.       void *handle);
  24.  
  25. typedef struct event_wimp_handler_item event_wimp_handler_item;
  26.  
  27. struct event_wimp_handler_item
  28.    {  event_wimp_handler_item *next;
  29.       toolbox_o               object_id;
  30.       wimp_event_no                     event_code;
  31.       event_wimp_handler      *handler;
  32.       void                    *handle;
  33.    };
  34.  
  35.  
  36. typedef struct event_toolbox_handler_item event_toolbox_handler_item;
  37.  
  38. struct event_toolbox_handler_item
  39.    {  event_toolbox_handler_item *next;
  40.       toolbox_o                  object_id;
  41.       bits                        event_code;
  42.       event_toolbox_handler      *handler;
  43.       void                       *handle;
  44.    };
  45.  
  46. typedef struct event_message_handler_item event_message_handler_item;
  47.  
  48. struct event_message_handler_item
  49.    {  event_message_handler_item *next;
  50.       int                        msg_no;
  51.       event_message_handler      *handler;
  52.       void                       *handle;
  53.    };
  54.  
  55. extern void event_poll (wimp_event_no *event_code, wimp_block *poll_block,
  56.       void *poll_word);
  57.  
  58. extern void event_poll_idle (wimp_event_no *event_code, wimp_block *poll_block,
  59.       os_t earliest, void *poll_word);
  60.  
  61. extern void event_register_wimp_handler (toolbox_o object_id,
  62.       wimp_event_no event_code, event_wimp_handler *handler, void *handle);
  63.  
  64. extern void event_deregister_wimp_handler (toolbox_o object_id,
  65.       wimp_event_no event_code, event_wimp_handler *handler, void *handle);
  66.  
  67. extern void event_register_toolbox_handler (toolbox_o object_id,
  68.       bits event_code, event_toolbox_handler *handler, void *handle);
  69.  
  70. extern void event_deregister_toolbox_handler (toolbox_o object_id,
  71.       bits event_code, event_toolbox_handler *handler, void *handle);
  72.  
  73. extern void event_register_message_handler (bits msg_no,
  74.       event_message_handler *handler, void *handle);
  75.  
  76. extern void event_deregister_message_handler (bits msg_no,
  77.       event_message_handler *handler, void *handle);
  78.  
  79. extern void event_set_mask (wimp_poll_flags mask);
  80.  
  81. extern void event_get_mask (wimp_poll_flags *mask);
  82.  
  83. extern void event_initialise (toolbox_block *id_block);
  84.  
  85. #endif
  86.